Short-run production is increasingly utilized in today's competitive manufacturing environments. In order to meet such demands, many dedicated assembly lines are being replaced with flexible systems which enable rapid changeover of the line, thereby increasing the efficiency of production. Unfortunately, the industrial workcells, which typically employ programmable robots, have become extremely complex and the difficulty in modifying the operations of such workcells has resulted in rather inflexible assembly lines.
Flexible assembly is the ability of an automated or robot system to assemble different parts into different assembled units. For example, at the beginning of the workday a robot may be configured to place and secure circuit boards into the chassis of personal computers. After completing a desired quantity of assemblies the robot may be instructed to assemble components for a paper path in a xerographic copier. Although the materials and tools are different, the work processes share similarities that can be modeled such that a unified architecture can be developed to satisfy all types of flexible robot assembly applications.
The present invention is directed toward alleviating one of three types of data flow and control problems which arise within such a flexible assembly system, including: 1) encoding the location of workpieces used by robots in the workcell; 2) collecting and processing error data during production; and 3) providing flexibility in the control of operations within the system.
The first problem is resolved using a method and apparatus for defining the position of workpieces held on pallets used within a flexible assembly system. The pallet configuration capability of the present invention captures the geometrical configuration of workpieces on any type of pallet (i.e., a universal pallet) and translates the configuration into a data record which the robot understands.
The second problem area is alleviated using a method which encodes process error data transmitted between the components of the flexible assembly system. This encoded or "encapsulated" error data, is subsequently used to identify substandard workpieces to a particular position on the pallet. The use of the encapsulated error data further enables efficient pallet routing decisions to be executed within the FAS cell. Ultimately, the proposed system improves the quality of the end items or assemblies produced therein.
The last problem in the flexible assembly system is resolved using a method which provides the user the choice of running a workcell either locally (one of the robot stations), or at a remote source (a remotely located computer). Control capability from a remote system, a cell controller, is incorporated into the architecture, because of the advantages remote control provides. Remote control of cell operations correctly implies that multiple workcells containing multiple robots can be effectively controlled from a single location on the production floor. This in turn implies that fewer operators would be required to oversee a greater number of production operations, thereby further improving productivity.
The use of robots for the assembly of workpieces arranged in predefined locations is known, and control of the robots by a microcontroller which executes commands entered via a proprietary software language is also known. For example, Adept robots (Adept Technology, Incorporated, San Jose, Calif.) utilize the V+ language to create Pascal-like data records to define system characteristics. Robotic systems have commonly been employed in "dedicated" or highly repetitive operations that remain constant over long runs on an assembly line. As a result, the need for flexibility in the system, including the ease of modifying the robot operations or other system characteristics, was not a priority in such systems. Hence, alteration of the operation of the systems usually requires knowledge of the proprietary robot language and system characteristics in order to effect the desired changes or, in other words, a person having a high level of technical training is needed to effect alterations in the robot's process.
Heretofore, many such "dedicated" assembly systems have been developed to fabricate and inspect mechanical and electrical assemblies, of which the following disclosures may be relevant:
U.S. Pat. No. 4,521,807 Patentee: Werson Issued: Jun. 4, 1985 PA1 U.S. Pat. No. 4,541,011 Patentee: Mayer et al. Issued: Sep. 10, 1985 PA1 U.S. Pat. No. 4,787,143 Patentee: Yagi et al. Issued: Nov. 29, 1988 PA1 U.S. Pat. No. 4,916,286 Patentee: Sarugaku et al. Issued: Apr. 10, 1990 PA1 U.S. Pat. No. 4,929,845 Patentee: Amir et al. Issued: May 29, 1990 PA1 U.S. Pat. No. 4,973,852 Patentee: Denkevitz Issued: Nov. 27, 1990 PA1 Xerox Disclosure Journal "Automatic Correction of Robot Displacement Errors" September/October 1992, Vol. 17, No. 5 PA1 (1) the ability to move parts and assembly tools into and out of the robot's workspace in an efficient and timely manner; PA1 (2) the ability to inform the robot which application program to use when assembling the parts presented to it; and PA1 (3) the ability to inform and recover from exceptional conditions, or errors, which occur during an assembly process. To meet these requirements, the flexible assembly system which incorporates the present invention includes an architecture which implements robot control in a manner that maximizes flexibility. The system also hides the details of the architecture and programming languages from the end-user responsible for characterizing or altering the geometric configurations of parts presented to the system. Lastly, the system includes the capability to efficiently handle process errors detected during assembly so as to reduce or eliminate defects.
The foregoing patents and publication are hereby incorporated by reference for their teachings, and relevant portions thereof may be briefly summarized as follows:
U.S. Pat. No. 4,521,807 discloses an optical inspection system for the inspection of circular workpieces which includes an electronic camera having an optical system for focussing an image of a circular workpiece on an electronically active image receiving surface, and means to move the workpiece into a predetermined position in the field of view of the optical system. Difficulties encountered when inspecting a circular workpiece are overcome by scanning an image receiving surface in directions extending radially across the image receiving surface to produce an output signal. A signal analyzer is arranged to monitor the output signal corresponding to each radial scan to detect the presence of any irregularity in the workpiece.
U.S. Pat. No. 4,541,011 discloses a system for determining and recording the position, shape, size and depth of a defect in a billet or similar workpiece. The workpiece is displayed on the screen of a video display device, and the positions of the defects displayed on the screen are recorded in response to being manually selected by an operator. In addition, the patent further discloses that position indications from sensors are applied to a processor which correlates these indications with the position of the defect on the screen to determine the position of the defect on the workpiece.
U.S. Pat. No. 4,787,143 teaches a method and apparatus for detecting and enabling correction of a failure in the mounting of electronic parts on substrates. Moreover, automatic detection of failure in the mounting, and classification between failed substrates and acceptable substrates, improves the operating efficiency of an electronic parts mounting line. The method adapted applies a code mark to each substrate on which electronic parts are to be mounted, detects a mounting failure, reads and stores the code mark and failure data, and separates the failed substrates from acceptable substrates based upon the code mark and stored failure data.
U.S. Pat. No. 4,916,286 teaches a method and apparatus for controlling work performed by an automatic work processing machine whereby a just finished work undergoes an imaging operation by the use of an imaging apparatus. The outputs from the imaging apparatus are converted into binary values to obtain a line image which is then analyzed to evaluate the finished work by comparing the binary values to reference values. If the finished work is not satisfactory, evidenced by a deviation between the binary values and the reference values, the deviation is supplied to a control system which automatically changes some of the working parameters to attain a work of satisfactory quality.
U.S. Pat. No. 4,929,845 describes a method and apparatus for the inspection of circuit boards to detect missing and misaligned active and passive surface-mounted components on the circuit board. First the board is illuminated with a top light to enhance the image of the passive components. Next the circuit board is displaced, relative to a camera linescan trained on the board, so that the camera captures the image of successive strips of surface area across the board, perpendicular to its direction of movement. The images generated are subsequently stored and thereafter processed to determine if any components are misaligned or missing.
U.S. Pat. No. 4,973,852 discloses an apparatus which enables a user to identify an empty location of component parts on a printed circuit board or other type of component assembly, where the presence, absence, orientation or polarity of components is identified. Identification is described as being accomplished by utilizing a pattern of marks, such as dots, which are located in such a manner so as to be totally or partially obscured when the component is placed in the correct location. The marks may subsequently be used in a number of ways, including providing the identification of any location not occupied by the intended component, and indicating the polarity or orientation of a component.
A Xerox Disclosure Journal publication entitled "Automatic Correction of Robot Displacement Errors", published in the September/October 1992 issue (Vol. 17, No. 5), hereby incorporated by reference, teaches a method for automatically correcting displacement errors in robotic systems for part locations accessed by robot arms on assembly trays. The difference between the true location of a part and the location moved to by the robot relative to a given frame defines a displacement error.
In the previously described automated assembly systems, the flexibility of the system is characterized by its ability to prepare a robot with the parts, tools, and process steps necessary to accomplish the required tasks with little delay or downtime. Hence, the requirements of a flexible robot assembly system include:
In accordance with the present invention, there is provided a system for automatically performing operations on workpieces located on a pallet, comprising: a workcell for performing operations to modify a workpiece present on the pallet; a cell controller in communication with said workcell, for controlling the operation of said workcell in response to a set of preprogrammed requirements; means, located at said workcell, for detecting a defect in the assembly of the workpiece and generating an error message indicative of the defect; and means for communicating the error message to said cell controller, so that said cell controller may initiate an appropriate response.
In accordance with another aspect of the present invention, in a flexible, workpiece assembly system having a workcell which includes a robot controller and a robot, responsive to the robot controller, for assembling the workpieces, there is provided a method of controlling the system comprising the steps of: defining locations for a plurality of workpieces on a pallet presented to the workcell; in response to a set of preprogrammed requirements provided to a cell controller, communicating from the cell controller to the workcell a plurality of commands for controlling the operation of the workcell so as to assemble the workpieces on the pallet; detecting, at the workcell, a defect during the assembly of a workpiece and generating an error message indicative of the defect; and communicating the error message to the cell controller.